Platform Explorer / Nuxeo Platform 2021

Component org.nuxeo.elasticsearch.core.bulk.contrib

Requirements

Resolution Order

791
The resolution order represents the order in which this component has been resolved by the Nuxeo Runtime framework.
You can influence this order by adding "require" tags in your component declaration, to make sure it is resolved after another component.

Contributions

XML Source

<?xml version="1.0"?>
<component name="org.nuxeo.elasticsearch.core.bulk.contrib" version="1.0.0">

  <require>org.nuxeo.ecm.core.bulk.config</require>

  <extension target="org.nuxeo.ecm.core.bulk" point="actions">
    <action name="index" inputStream="bulk/index" bucketSize="1000" batchSize="25"
      enabled="${elasticsearch.enabled:=true}" />
  </extension>

  <extension target="org.nuxeo.runtime.stream.service" point="streamProcessor">
    <streamProcessor name="indexAction" class="org.nuxeo.elasticsearch.bulk.IndexAction"
      defaultConcurrency="2" defaultPartitions="4" enabled="${elasticsearch.enabled:=true}">
      <policy name="default" maxRetries="20" delay="1s" maxDelay="60s" continueOnFailure="false" />
      <!-- concurrency to build indexing requests -->
      <computation name="bulk/index" concurrency="2" />
      <!-- concurrency to execute indexing requests -->
      <computation name="bulk/bulkIndex" concurrency="2" />
      <computation name="bulk/indexCompletion" concurrency="1" />
      <!-- optimal size of the elasticsearch bulk request -->
      <option name="esBulkSizeBytes">5242880</option>
      <!-- max number of actions in the elasticsearch bulk request -->
      <option name="esBulkActions">1000</option>
      <!-- flush elasticsearch bulk request interval -->
      <option name="flushIntervalSeconds">5</option>
    </streamProcessor>

  </extension>

</component>